home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / c / sync / RCS / Sync_Wait.man,v < prev    next >
Text File  |  1990-06-27  |  2KB  |  69 lines

  1. head     1.1;
  2. branch   ;
  3. access   ;
  4. symbols  ;
  5. locks    ; strict;
  6. comment  @@;
  7.  
  8.  
  9. 1.1
  10. date     88.12.30.16.08.17;  author ouster;  state Exp;
  11. branches ;
  12. next     ;
  13.  
  14.  
  15. desc
  16. @@
  17.  
  18.  
  19.  
  20. 1.1
  21. log
  22. @Initial revision
  23. @
  24. text
  25. @\fB' $Header: Sync_Wait,v 1.8 87/01/06 15:11:43 andrew Exp $ SPRITE (Berkeley)
  26. .so \*(]ltmac.sprite
  27. .HS Sync_Wait lib\fB 
  28. .BS
  29. .SH NAME
  30. Sync_Wait \- wait on a monitor condition variable
  31. .SH SYNOPSIS
  32. \fB#include <sync.h>\fR
  33. .sp .5
  34. \fBSync_Wait\fR(\fIconditionPtr, wakeIfSignal\fP)
  35. .SH ARGUMENTS
  36. .AS Sync_Condition *conditionPtr
  37. .AP Sync_Condition *conditionPtr in
  38. Address of a condition variable 
  39. to distinguish waiting process for later notification.
  40. .AP Boolean wakeIfSignal in
  41. This parameter is currently ignored.
  42. .BE
  43. .SH DESCRIPTION
  44. .PP
  45. \fBSync_Wait\fR allows a process using a monitor to wait for a particular condition.
  46. This routine can only be called while a monitor lock is aquired because 
  47. it is only safe to check global state while in the monitor.  
  48. This call releases the monitor lock and makes the process sleep on the
  49. condition. Other processes waiting on the monitor lock will become runnable.
  50. The process remains asleep until some other process invokes
  51. \fBSync_Broadcast\fR with the same condition variable.
  52. .PP
  53. Because broadcast semantics are used, it is possible for spurious wakeups to
  54. occur if multiple processes are awaiting the same condition.  Additionally,
  55. all processes waiting on \fI*conditionPtr\fP will be
  56. awakened simultaneously and may execute in any order.  For these
  57. reasons, when a process resumes execution it may find that the condition
  58. it was awaiting is no longer valid.  In this case,
  59. it should call \fBSync_Wait\fR again.
  60. .PP
  61. When the
  62. process awakens due to event notification through \fBSync_Broadcast\fR,
  63. \fBSUCCESS\fR is returned.
  64. .SH SEE ALSO
  65. Sync, Sync_Broadcast, Sig_Send
  66. .SH KEYWORDS
  67. synchronization, wait, block, signal, process, event
  68. @
  69.